package StreanmLearn.Middle;

import java.util.ArrayList;
import java.util.Collections;

public class Streanm流的中间方法3 {
    public static void main(String[] args) {
        /*
        map 类型转换

         注意1:中间方法，返回新的Streanm,原来的Stream流只能使用一次，建议所有链式编程
         注意2:修改Stream流中的数据，不会影响原来的集合或者数据
         */
        ArrayList<String> list=new ArrayList<>();
        Collections.addAll(list,"张无忌-23","李四-32","张强-64","张三丰-23","王五-65","克莱普-21","谢广坤-17");

        //apply的形参s:依次表示流的里面的每一个数据
        //返回值:表示转换之前的数据
//        list.stream().map(new Function<String, Object>() {
//            @Override
//            public Object apply(String s) {
//                //利用split进行切割
//                String[] arr=s.split("-");
//                //切割之后获取  -年龄
//                //获取年龄，从1索引开始
//                String ageString=arr[1];
//                //parseInt转换为int类型
//                int age=Integer.parseInt(ageString);
//                //将获取到的年龄进行返回
//                return age;
//            }
//        }).forEach(s-> System.out.println(s));

        //只获取年龄
        list.stream()
                .map(s->Integer.parseInt(s.split("-")[1]))
                .forEach(s-> System.out.println(s));
    }
}
